In today's society, massive amounts of data are transferred between computing devices and stored every day. As such, there are efforts to reduce the amount of unnecessary overhead in various facets of computing. For example, data de-duplication is a process that significantly reduces storage consumption when large volumes of data are stored at a location (e.g., as a backup system). Data de-duplication allows developers to replace large redundant blocks of data with relatively small reference points to a single copy of a data block.
In many implementations, stored data may be encrypted or otherwise stored in a secured manner. Encryption and hash algorithms allow secure transmission and storage of digital data. Encryption algorithms ideally generate data that appears pseudo-random, and the same data encrypted under different cryptographic keys should yield vastly different encrypted data. As such, typical data de-duplication does not work with data encrypted under different cryptographic keys.